﻿using PLCS.Domain.Trays;
using System.Linq.Expressions;

namespace PLCS.Domain.Stations;

public interface IStationRepository : IRepository<Station, Guid>
{
    Task<Station> GetStationByNumAsync(string staNum, int lever = 1);

    Task<IEnumerable<Station>> GetStationsByKindAsync(string kind);

    Task<IEnumerable<Station>> GetStationListAsync();

    Task<IEnumerable<Station>> GetStationListAsync(Expression<Func<Station, bool>> predicate);

    Task DeleteAllAsync();

    Task<IEnumerable<Station>> GetIntermediatePositions(int minPostion, int maxPostion);
}